#include "mylog.h"

#include <QDebug>
#include <QDateTime>
#include <QThread>

void MyLog::messageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
    // 1. 格式化日志内容（添加时间、日志类型）
    QString time = QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss");
    QString logType;
    switch (type) {
        case QtDebugMsg: logType = "[Debug]"; break;
        case QtInfoMsg:  logType = "[Info]";  break;
        case QtWarningMsg: logType = "[Warning]"; break;
        case QtCriticalMsg: logType = "[Critical]"; break;
        case QtFatalMsg: logType = "[Fatal]"; break;
    }
    // 完整日志内容：时间 + 类型 + 消息
    QString logText = QString("[%1] %2 %3").arg(time, logType, msg);

    // 2. 发送信号到UI线程（通过单例对象）
    emit getInstance()->logMessage(logText);
}
